package com.billdowney.entity.auth;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import com.billdowney.entity.base.BaseEntityIdByUUIDHex;

import io.swagger.annotations.ApiModelProperty;

/**
 * 控制器所有action
 * 
 * @author 超级小富翁 - BillDowney
 * @data 2017年8月18日 下午7:11:25
 */
@Entity
@Table(name = "auth_action")
public class AuthAction extends BaseEntityIdByUUIDHex {

	private static final long serialVersionUID = 4280767038925472016L;
	@ApiModelProperty(value = "action请求路径")
	@Column(length = 100)
	private String url;
	@ApiModelProperty(value = "过滤的action请求路径")
	@Column(length = 100)
	private String filterUrl;
	@ApiModelProperty(value = "action名称")
	@Column(length = 30)
	private String actionName;
	@ApiModelProperty(value = "项目名")
	@Column(length = 50)
	private String projectName;
	@ApiModelProperty(value = "action描述")
	@Column(length = 100)
	private String description;
	@ApiModelProperty(value = "类名")
	@Column(length = 100)
	private String className;
	@ApiModelProperty(value = "单类名")
	@Column(length = 50)
	private String classSimpleName;
	@ApiModelProperty(value = "方法名")
	@Column(length = 50)
	private String methodName;
	@ApiModelProperty(value = "请求类型")
	@Column(length = 50)
	private String requestMethod;

	@ManyToOne(targetEntity = AuthRole.class, fetch = FetchType.EAGER)
	@JoinColumn(name = "authRole_id")
	@ApiModelProperty(value = "角色信息")
	private AuthRole authRole;

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public String getFilterUrl() {
		return filterUrl;
	}

	public void setFilterUrl(String filterUrl) {
		this.filterUrl = filterUrl;
	}

	public String getActionName() {
		return actionName;
	}

	public void setActionName(String actionName) {
		this.actionName = actionName;
	}

	public String getProjectName() {
		return projectName;
	}

	public void setProjectName(String projectName) {
		this.projectName = projectName;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public String getClassName() {
		return className;
	}

	public void setClassName(String className) {
		this.className = className;
	}

	public String getMethodName() {
		return methodName;
	}

	public void setMethodName(String methodName) {
		this.methodName = methodName;
	}

	public String getRequestMethod() {
		return requestMethod;
	}

	public void setRequestMethod(String requestMethod) {
		this.requestMethod = requestMethod;
	}

	public AuthRole getAuthRole() {
		return authRole;
	}

	public void setAuthRole(AuthRole authRole) {
		this.authRole = authRole;
	}

	public String getClassSimpleName() {
		return classSimpleName;
	}

	public void setClassSimpleName(String classSimpleName) {
		this.classSimpleName = classSimpleName;
	}

}
